{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# cnn-mnist\n",
    "使用tensorflow，构造并训练一个神经网络，在测试机上达到超过98%的准确率。 \n",
    "作业详情：https://gitee.com/ai100/quiz-w7-1-cnn-mnist "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\h5py\\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
      "  from ._conv import register_converters as _register_converters\n",
      "Using TensorFlow backend.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'channels_last'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"\"\"A very simple MNIST classifier.\n",
    "See extensive documentation at\n",
    "https://www.tensorflow.org/get_started/mnist/beginners\n",
    "\"\"\"\n",
    "from __future__ import absolute_import\n",
    "from __future__ import division\n",
    "from __future__ import print_function\n",
    "\n",
    "import argparse\n",
    "import sys\n",
    "import tensorflow as tf\n",
    "import numpy as np\n",
    "\n",
    "from tensorflow.examples.tutorials.mnist import input_data\n",
    "\n",
    "from keras.layers.core import Dense, Flatten, Dropout\n",
    "from keras.layers.convolutional import Conv2D\n",
    "from keras.layers.pooling import MaxPooling2D\n",
    "from keras import initializers\n",
    "from keras.layers import advanced_activations\n",
    "\n",
    "from keras import backend as K\n",
    "\n",
    "K.image_data_format() "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们在这里调用系统提供的Mnist数据函数为我们读入数据，如果没有下载的话则进行下载。\n",
    "\n",
    "<font color=#ff0000>**这里将data_dir改为适合你的运行环境的目录**</font>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From <ipython-input-2-698ada706af1>:3: read_data_sets (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use alternatives such as official/mnist/dataset.py from tensorflow/models.\n",
      "WARNING:tensorflow:From C:\\ProgramData\\Anaconda3\\lib\\site-packages\\tensorflow\\contrib\\learn\\python\\learn\\datasets\\mnist.py:260: maybe_download (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please write your own downloading logic.\n",
      "WARNING:tensorflow:From C:\\ProgramData\\Anaconda3\\lib\\site-packages\\tensorflow\\contrib\\learn\\python\\learn\\datasets\\mnist.py:262: extract_images (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use tf.data to implement this functionality.\n",
      "Extracting /tmp/tensorflow/mnist/input_data\\train-images-idx3-ubyte.gz\n",
      "WARNING:tensorflow:From C:\\ProgramData\\Anaconda3\\lib\\site-packages\\tensorflow\\contrib\\learn\\python\\learn\\datasets\\mnist.py:267: extract_labels (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use tf.data to implement this functionality.\n",
      "Extracting /tmp/tensorflow/mnist/input_data\\train-labels-idx1-ubyte.gz\n",
      "WARNING:tensorflow:From C:\\ProgramData\\Anaconda3\\lib\\site-packages\\tensorflow\\contrib\\learn\\python\\learn\\datasets\\mnist.py:110: dense_to_one_hot (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use tf.one_hot on tensors.\n",
      "Extracting /tmp/tensorflow/mnist/input_data\\t10k-images-idx3-ubyte.gz\n",
      "Extracting /tmp/tensorflow/mnist/input_data\\t10k-labels-idx1-ubyte.gz\n",
      "WARNING:tensorflow:From C:\\ProgramData\\Anaconda3\\lib\\site-packages\\tensorflow\\contrib\\learn\\python\\learn\\datasets\\mnist.py:290: DataSet.__init__ (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use alternatives such as official/mnist/dataset.py from tensorflow/models.\n"
     ]
    }
   ],
   "source": [
    "# Import data\n",
    "data_dir = '/tmp/tensorflow/mnist/input_data'\n",
    "mnist = input_data.read_data_sets(data_dir, one_hot=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 定义输入输出\n",
    "x = tf.placeholder(tf.float32, [None, 784])\n",
    "y_ = tf.placeholder(tf.float32, [None, 10])\n",
    "# 学习速率\n",
    "learning_rate = tf.placeholder(tf.float32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "with tf.name_scope('reshape'):\n",
    "  x_image = tf.reshape(x, [-1, 28, 28, 1])\n",
    "\n",
    "\n",
    "# 二维卷积层，即对图像的空域卷积。\n",
    "# keras.layers.convolutional.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', data_format=None, \n",
    "#                                  dilation_rate=(1, 1), activation=None, use_bias=True, kernel_initializer='glorot_uniform', \n",
    "#                                  bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, \n",
    "#                                  activity_regularizer=None, kernel_constraint=None, bias_constraint=None)\n",
    "# filters：卷积核的数目（即输出的维度）\n",
    "# kernel_size：卷积核的宽度和长度。如为单个整数，则表示在各个空间维度的相同长度。\n",
    "# strides：卷积的步长。如为单个整数，则表示在各个空间维度的相同步长。\n",
    "# activation：激活函数，如果不指定该参数，将不会使用任何激活函数（即使用线性激活函数：a(x)=x）\n",
    "# padding：补0策略，为“valid”, “same” 。\n",
    "# use_bias:布尔值，是否使用偏置项\n",
    "# kernel_initializer：权值初始化方法\n",
    "# bias_initializer：权值初始化方法\n",
    "# kernel_regularizer：施加在权重上的正则项\n",
    "# bias_regularizer：施加在偏置向量上的正则项\n",
    "# activity_regularizer：施加在输出上的正则项\n",
    "# kernel_constraints：施加在权重上的约束项\n",
    "# bias_constraints：施加在偏置上的约束项\n",
    "\n",
    "# 卷积层1\n",
    "net = Conv2D(32, kernel_size=[5,5], strides=[1,1], activation='selu', padding='same',\n",
    "             kernel_initializer = 'glorot_normal',  # Glorot正态分布初始化方法，也称作Xavier正态分布初始化\n",
    "             bias_initializer = initializers.Constant(value=0.01), \n",
    "             input_shape=[28,28,1])(x_image)  \n",
    "# 第一层卷积必须显示指定input_shape输入数据形状[高，宽，通道数]\n",
    "# Conv2D 是类方法，第一层时需传递输入数据x_image\n",
    "\n",
    "\n",
    "# 最大值池化层\n",
    "# keras.layers.pooling.MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format=None)\n",
    "# pool_size：代表在两个方向（竖直，水平）上的下采样因子，如取（2，2）将使图片在两个维度上均变为原长的一半。\n",
    "# strides：步长值\n",
    "# border_mode：‘valid’或者‘same’\n",
    "# data_format：“channels_first”或“channels_last”之一，代表图像的通道维的位置。以128x128的RGB图像为例，\n",
    "#              “channels_first”应将数据组织为（3,128,128），而“channels_last”应将数据组织为（128,128,3）。\n",
    "\n",
    "# 池化层1\n",
    "net = MaxPooling2D(pool_size=[2,2])(net) # 池化\n",
    "\n",
    "#卷积层2\n",
    "net = Conv2D(64, kernel_size=[5,5], strides=[1,1],activation='selu', padding='same', \n",
    "             kernel_initializer = 'glorot_normal',  # Glorot正态分布初始化方法，也称作Xavier正态分布初始化\n",
    "             bias_initializer = initializers.Constant(value=0.01))(net)\n",
    "\n",
    "# 池化层2\n",
    "net = MaxPooling2D(pool_size=[2,2])(net)\n",
    "\n",
    "# Dropout层\n",
    "# net = Dropout(0.5)(net)\n",
    "\n",
    "# Flatten层，用来将输入“压平”，即把多维的输入一维化，常用在从卷积层到全连接层的过渡。Flatten不影响batch的大小。\n",
    "net = Flatten()(net) \n",
    "\n",
    "# 全连接层\n",
    "# keras.layers.core.Dense(units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', \n",
    "#                         bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, \n",
    "#                         activity_regularizer=None, kernel_constraint=None, bias_constraint=None)\n",
    "# units：大于0的整数，代表该层的输出维度\n",
    "# activation：激活函数，如果不指定该参数，将不会使用任何激活函数（即使用线性激活函数：a(x)=x）\n",
    "# use_bias: 布尔值，是否使用偏置项\n",
    "# kernel_initializer：权值初始化方法，为预定义初始化方法名的字符串，或用于初始化权重的初始化器\n",
    "# bias_initializer：偏置向量初始化方法，为预定义初始化方法名的字符串，或用于初始化偏置向量的初始化器\n",
    "# kernel_regularizer：施加在权重上的正则项\n",
    "# bias_regularizer：施加在偏置向量上的正则项\n",
    "# activity_regularizer：施加在输出上的正则项\n",
    "# kernel_constraints：施加在权重上的约束项\n",
    "# bias_constraints：施加在偏置上的约束项\n",
    "\n",
    "# 全连接层1\n",
    "net = Dense(1000, activation='selu')(net) # 全连接层\n",
    "\n",
    "# 全连接层2\n",
    "net = Dense(10,activation='softmax')(net)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 计算交叉熵\n",
    "from keras.objectives import categorical_crossentropy\n",
    "cross_entropy = tf.reduce_mean(categorical_crossentropy(y_, net)) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "l2_loss = tf.add_n( [tf.nn.l2_loss(w) for w in tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES)] )\n",
    "#惩罚因子，即正则化因子\n",
    "regularization_rate = 1e-4\n",
    "total_loss = cross_entropy + regularization_rate * l2_loss"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(total_loss)\n",
    "sess = tf.Session()\n",
    "K.set_session(sess)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "step 100, entropy loss: 0.241797, l2_loss: 793.088196, total loss: 0.321106, lr: 0.090000, accuracy: 0.990000\n",
      "step 200, entropy loss: 0.082473, l2_loss: 793.408569, total loss: 0.161814, lr: 0.090000, accuracy: 1.000000\n",
      "step 300, entropy loss: 0.152106, l2_loss: 793.320374, total loss: 0.231438, lr: 0.090000, accuracy: 0.980000\n",
      "step 400, entropy loss: 0.125176, l2_loss: 792.972778, total loss: 0.204473, lr: 0.090000, accuracy: 0.990000\n",
      "step 500, entropy loss: 0.051870, l2_loss: 792.421692, total loss: 0.131112, lr: 0.090000, accuracy: 1.000000\n",
      "step 500, 训练正确率:  0.977455\n",
      "step 500, 测试正确率:  0.978200\n",
      "step 600, entropy loss: 0.053231, l2_loss: 791.916077, total loss: 0.132423, lr: 0.090000, accuracy: 1.000000\n",
      "step 700, entropy loss: 0.037054, l2_loss: 791.212341, total loss: 0.116175, lr: 0.090000, accuracy: 1.000000\n",
      "step 800, entropy loss: 0.029786, l2_loss: 790.546509, total loss: 0.108840, lr: 0.090000, accuracy: 1.000000\n",
      "step 900, entropy loss: 0.116115, l2_loss: 789.816833, total loss: 0.195097, lr: 0.090000, accuracy: 1.000000\n",
      "step 1000, entropy loss: 0.036563, l2_loss: 788.917480, total loss: 0.115455, lr: 0.090000, accuracy: 1.000000\n",
      "step 1000, 训练正确率:  0.984764\n",
      "step 1000, 测试正确率:  0.984000\n",
      "step 1100, entropy loss: 0.163686, l2_loss: 788.177124, total loss: 0.242504, lr: 0.090000, accuracy: 0.990000\n",
      "step 1200, entropy loss: 0.005670, l2_loss: 787.402222, total loss: 0.084410, lr: 0.090000, accuracy: 1.000000\n",
      "step 1300, entropy loss: 0.086249, l2_loss: 786.693787, total loss: 0.164919, lr: 0.090000, accuracy: 1.000000\n",
      "step 1400, entropy loss: 0.008256, l2_loss: 785.774353, total loss: 0.086834, lr: 0.090000, accuracy: 1.000000\n",
      "step 1500, entropy loss: 0.032212, l2_loss: 784.770447, total loss: 0.110689, lr: 0.090000, accuracy: 1.000000\n",
      "step 1500, 训练正确率:  0.987127\n",
      "step 1500, 测试正确率:  0.982600\n",
      "step 1600, entropy loss: 0.023496, l2_loss: 783.847229, total loss: 0.101880, lr: 0.090000, accuracy: 1.000000\n",
      "step 1700, entropy loss: 0.036408, l2_loss: 782.988892, total loss: 0.114707, lr: 0.090000, accuracy: 1.000000\n",
      "step 1800, entropy loss: 0.021884, l2_loss: 782.112244, total loss: 0.100095, lr: 0.090000, accuracy: 1.000000\n",
      "step 1900, entropy loss: 0.055679, l2_loss: 781.328003, total loss: 0.133812, lr: 0.090000, accuracy: 1.000000\n",
      "step 2000, entropy loss: 0.027123, l2_loss: 780.454773, total loss: 0.105169, lr: 0.090000, accuracy: 1.000000\n",
      "step 2000, 训练正确率:  0.991091\n",
      "step 2000, 测试正确率:  0.986700\n",
      "step 2100, entropy loss: 0.043711, l2_loss: 779.549438, total loss: 0.121666, lr: 0.090000, accuracy: 1.000000\n",
      "step 2200, entropy loss: 0.031871, l2_loss: 778.607971, total loss: 0.109731, lr: 0.090000, accuracy: 1.000000\n",
      "step 2300, entropy loss: 0.060942, l2_loss: 777.631531, total loss: 0.138705, lr: 0.090000, accuracy: 1.000000\n",
      "step 2400, entropy loss: 0.004878, l2_loss: 776.693970, total loss: 0.082547, lr: 0.090000, accuracy: 1.000000\n",
      "step 2500, entropy loss: 0.012055, l2_loss: 775.768738, total loss: 0.089632, lr: 0.090000, accuracy: 1.000000\n",
      "step 2500, 训练正确率:  0.992018\n",
      "step 2500, 测试正确率:  0.987400\n",
      "step 2600, entropy loss: 0.096201, l2_loss: 774.920288, total loss: 0.173693, lr: 0.090000, accuracy: 1.000000\n",
      "step 2700, entropy loss: 0.002189, l2_loss: 773.971252, total loss: 0.079586, lr: 0.090000, accuracy: 1.000000\n",
      "step 2800, entropy loss: 0.015195, l2_loss: 772.985718, total loss: 0.092494, lr: 0.090000, accuracy: 1.000000\n",
      "step 2900, entropy loss: 0.036131, l2_loss: 772.073059, total loss: 0.113338, lr: 0.090000, accuracy: 1.000000\n",
      "step 3000, entropy loss: 0.006443, l2_loss: 771.106567, total loss: 0.083553, lr: 0.090000, accuracy: 1.000000\n",
      "step 3000, 训练正确率:  0.992327\n",
      "step 3000, 测试正确率:  0.985700\n",
      "step 3100, entropy loss: 0.017179, l2_loss: 770.168335, total loss: 0.094196, lr: 0.090000, accuracy: 1.000000\n",
      "step 3200, entropy loss: 0.028107, l2_loss: 769.234680, total loss: 0.105031, lr: 0.090000, accuracy: 1.000000\n",
      "step 3300, entropy loss: 0.004931, l2_loss: 768.285950, total loss: 0.081760, lr: 0.090000, accuracy: 1.000000\n",
      "step 3400, entropy loss: 0.010815, l2_loss: 767.246826, total loss: 0.087540, lr: 0.090000, accuracy: 1.000000\n",
      "step 3500, entropy loss: 0.044564, l2_loss: 766.183777, total loss: 0.121182, lr: 0.090000, accuracy: 1.000000\n",
      "step 3500, 训练正确率:  0.993291\n",
      "step 3500, 测试正确率:  0.987500\n",
      "step 3600, entropy loss: 0.003830, l2_loss: 765.257263, total loss: 0.080356, lr: 0.090000, accuracy: 1.000000\n",
      "step 3700, entropy loss: 0.000638, l2_loss: 764.234680, total loss: 0.077062, lr: 0.090000, accuracy: 1.000000\n",
      "step 3800, entropy loss: 0.003725, l2_loss: 763.253662, total loss: 0.080050, lr: 0.090000, accuracy: 1.000000\n",
      "step 3900, entropy loss: 0.003897, l2_loss: 762.252869, total loss: 0.080122, lr: 0.090000, accuracy: 1.000000\n",
      "step 4000, entropy loss: 0.018419, l2_loss: 761.253967, total loss: 0.094545, lr: 0.090000, accuracy: 1.000000\n",
      "step 4000, 训练正确率:  0.995527\n",
      "step 4000, 测试正确率:  0.990300\n",
      "step 4100, entropy loss: 0.000773, l2_loss: 760.250732, total loss: 0.076798, lr: 0.090000, accuracy: 1.000000\n",
      "step 4200, entropy loss: 0.059183, l2_loss: 759.271179, total loss: 0.135110, lr: 0.090000, accuracy: 1.000000\n",
      "step 4300, entropy loss: 0.004570, l2_loss: 758.323242, total loss: 0.080402, lr: 0.090000, accuracy: 1.000000\n",
      "step 4400, entropy loss: 0.049203, l2_loss: 757.321106, total loss: 0.124935, lr: 0.090000, accuracy: 1.000000\n",
      "step 4500, entropy loss: 0.045614, l2_loss: 756.322083, total loss: 0.121247, lr: 0.090000, accuracy: 1.000000\n",
      "step 4500, 训练正确率:  0.996818\n",
      "step 4500, 测试正确率:  0.989300\n",
      "step 4600, entropy loss: 0.013856, l2_loss: 755.306335, total loss: 0.089387, lr: 0.090000, accuracy: 1.000000\n",
      "step 4700, entropy loss: 0.033122, l2_loss: 754.314331, total loss: 0.108554, lr: 0.090000, accuracy: 1.000000\n",
      "step 4800, entropy loss: 0.038484, l2_loss: 753.252563, total loss: 0.113809, lr: 0.090000, accuracy: 1.000000\n",
      "step 4900, entropy loss: 0.005873, l2_loss: 752.244263, total loss: 0.081097, lr: 0.090000, accuracy: 1.000000\n",
      "step 5000, entropy loss: 0.001550, l2_loss: 751.235657, total loss: 0.076674, lr: 0.090000, accuracy: 1.000000\n",
      "step 5000, 训练正确率:  0.997727\n",
      "step 5000, 测试正确率:  0.990200\n",
      "step 5100, entropy loss: 0.018060, l2_loss: 750.186401, total loss: 0.093079, lr: 0.090000, accuracy: 1.000000\n",
      "step 5200, entropy loss: 0.002066, l2_loss: 749.155090, total loss: 0.076981, lr: 0.090000, accuracy: 1.000000\n",
      "step 5300, entropy loss: 0.003136, l2_loss: 748.142334, total loss: 0.077950, lr: 0.090000, accuracy: 1.000000\n",
      "step 5400, entropy loss: 0.000561, l2_loss: 747.098389, total loss: 0.075271, lr: 0.090000, accuracy: 1.000000\n",
      "step 5500, entropy loss: 0.034573, l2_loss: 746.090759, total loss: 0.109182, lr: 0.078300, accuracy: 1.000000\n",
      "step 5500, 训练正确率:  0.996527\n",
      "step 5500, 测试正确率:  0.987100\n",
      "step 5600, entropy loss: 0.000346, l2_loss: 745.182007, total loss: 0.074864, lr: 0.078300, accuracy: 1.000000\n",
      "step 5700, entropy loss: 0.011171, l2_loss: 744.251770, total loss: 0.085596, lr: 0.078300, accuracy: 1.000000\n",
      "step 5800, entropy loss: 0.002831, l2_loss: 743.343506, total loss: 0.077166, lr: 0.078300, accuracy: 1.000000\n",
      "step 5900, entropy loss: 0.001407, l2_loss: 742.397522, total loss: 0.075647, lr: 0.078300, accuracy: 1.000000\n",
      "step 6000, entropy loss: 0.007377, l2_loss: 741.487854, total loss: 0.081526, lr: 0.068121, accuracy: 1.000000\n",
      "step 6000, 训练正确率:  0.998836\n",
      "step 6000, 测试正确率:  0.990100\n",
      "step 6100, entropy loss: 0.002791, l2_loss: 740.649353, total loss: 0.076856, lr: 0.068121, accuracy: 1.000000\n",
      "step 6200, entropy loss: 0.002347, l2_loss: 739.833801, total loss: 0.076330, lr: 0.068121, accuracy: 1.000000\n",
      "step 6300, entropy loss: 0.001843, l2_loss: 738.980835, total loss: 0.075741, lr: 0.068121, accuracy: 1.000000\n",
      "step 6400, entropy loss: 0.002330, l2_loss: 738.120850, total loss: 0.076142, lr: 0.068121, accuracy: 1.000000\n",
      "step 6500, entropy loss: 0.000498, l2_loss: 737.301270, total loss: 0.074228, lr: 0.059265, accuracy: 1.000000\n",
      "step 6500, 训练正确率:  0.999509\n",
      "step 6500, 测试正确率:  0.991500\n"
     ]
    }
   ],
   "source": [
    "init_op = tf.global_variables_initializer()\n",
    "sess.run(init_op)\n",
    "batch_size = 100\n",
    "# 学习速率\n",
    "lr = 0.09\n",
    "# 学习速率的衰减率\n",
    "lr_decay = 0.87\n",
    "acc_train_mat = []\n",
    "acc_test_mat = []\n",
    "loss_mat = []\n",
    "l2_loss_mat = []\n",
    "total_loss_mat = []\n",
    "# 训练\n",
    "for step in range(8000):   \n",
    "    # 当训练集loss出现波动或趋于平稳，开始学习速率衰减\n",
    "    if (step+1) >= 5000 and (step+1) % 500 == 0:\n",
    "        # 衰减学习速率\n",
    "        lr *= lr_decay\n",
    "        \n",
    "    batch_xs, batch_ys = mnist.train.next_batch(batch_size)\n",
    "    _, loss, l2_loss_value, total_loss_value = sess.run(\n",
    "               [train_step, cross_entropy, l2_loss, total_loss], \n",
    "               feed_dict={x: batch_xs, y_: batch_ys, learning_rate:lr})\n",
    "    if (step+1) % 100 == 0: \n",
    "        # 测试模型\n",
    "        correct_prediction = tf.equal(tf.argmax(net, 1), tf.argmax(y_, 1))\n",
    "        accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))\n",
    "        print('step %d, entropy loss: %f, l2_loss: %f, total loss: %f, lr: %f, accuracy: %f' % \n",
    "                (step+1, loss, l2_loss_value, total_loss_value, lr, sess.run(accuracy, feed_dict={x: batch_xs, y_: batch_ys})))\n",
    "        loss_mat.append(loss)\n",
    "        l2_loss_mat.append(l2_loss_value)\n",
    "        total_loss_mat.append(total_loss_value)\n",
    "        \n",
    "        if (step+1) % 500 == 0:\n",
    "            batch_size_pre = 1000\n",
    "            # 计算训练误差，因显卡内存不足，故分批计算求平均值\n",
    "            train_size = mnist.train.images.shape\n",
    "            acc_batch = 0\n",
    "            acc = []\n",
    "            step_time = (int)(train_size[0]/batch_size_pre)\n",
    "            for step_train in range(step_time):\n",
    "                batch_xs, batch_ys = mnist.train.next_batch(batch_size_pre)\n",
    "                acc_batch = sess.run(accuracy, feed_dict={x: batch_xs, y_: batch_ys})\n",
    "                acc.append(acc_batch)\n",
    "            step_acc_train = np.mean(acc)\n",
    "            print('step %d, 训练正确率:  %f' % (step+1, step_acc_train))\n",
    "            acc_train_mat.append(step_acc_train)\n",
    "\n",
    "            # 计算测试误差，因显卡内存不足，故分批计算求平均值\n",
    "            test_size = mnist.test.images.shape\n",
    "            acc_batch = 0\n",
    "            acc = []\n",
    "            step_time = (int)(test_size[0]/batch_size_pre)\n",
    "            for step_test in range(step_time):\n",
    "                batch_xs_test, batch_ys_test = mnist.test.next_batch(batch_size_pre)\n",
    "                acc_batch = sess.run(accuracy, feed_dict={x: batch_xs_test, y_: batch_ys_test})\n",
    "                acc.append(acc_batch)\n",
    "            step_acc_test = np.mean(acc)\n",
    "            print('step %d, 测试正确率:  %f' % (step+1, step_acc_test))\n",
    "            acc_test_mat.append(step_acc_test)\n",
    "            \n",
    "            if step_acc_test > 0.993:\n",
    "                break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEKCAYAAAA4t9PUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XdclXX/+PHXm6Gg4sCFiopbcSvubc7UzNLUsmGaNiy7G/dtP+uuu/vbuttmy0rTMtyalivT1MoBKijuhYKAAxRcIOPz++M6GikqCofrAO/n43EenHOda7wvxnnz2WKMQSmllLpdbnYHoJRSKn/TRKKUUipHNJEopZTKEU0kSimlckQTiVJKqRzRRKKUUipHNJEopZTKEU0kSimlckQTiVJKqRzxsDuAvFCuXDkTEBBgdxhKKZWvbNmy5ZQxpvzN9isUiSQgIIDQ0FC7w1BKqXxFRI5kZz+nVm2JyFQROSEiEdd5X0RkkogcEJHtItIi03sPi8h+x+PhTNtbisgOxzGTRESceQ9KKaVuzNltJN8CfW7wfl+gjuMxBvgcQER8gVeBNkBr4FURKeM45nPHvpePu9H5lVJKOZlTE4kxZh2QcINdBgIzjGUjUFpEKgG9gV+MMQnGmNPAL0Afx3sljTEbjDVt8Qzgbmfeg1JKqRuzu42kChCV6XW0Y9uNtkdnsf2WpaamEh0dTXJy8u0crmzg5eWFv78/np6edoeilMrE7kSSVfuGuY3t155YZAxWFRjVqlW75v3o6Gh8fHwICAhAm1lcnzGG+Ph4oqOjqVGjht3hKKUysXscSTRQNdNrfyDmJtv9s9h+DWPMFGNMkDEmqHz5a3uvJScnU7ZsWU0i+YSIULZsWS1BKuWC7E4ki4GHHL232gKJxphYYAXQS0TKOBrZewErHO+dFZG2jt5aDwE/3u7FNYnkL/rzUso1ObVqS0SCga5AORGJxuqJ5QlgjPkCWArcCRwALgAjHe8liMh/gRDHqV43xlxutH8CqzeYN7DM8VBKKeUQfy6FkMjThEYm8ELvenh5ujv1ek5NJMaY4Td53wBPXee9qcDULLaHAo1yJUAbxcfHc8cddwAQFxeHu7s7l6vgNm/eTJEiRW56jpEjRzJhwgTq1at3S9fu168fSUlJrF+//tYDV0q5FGMM0acvEhKZQEhkApsPJ3Dw5HkAini4cU8LfwIrl3RqDHY3thdaZcuWJSwsDIDXXnuNEiVK8MILL/xtH2MMxhjc3LKugZw2bdotXzc+Pp4dO3bg5eXF0aNHs+yIkBvS0tLw8NBfL6VyW0aGYd+Js4QcTmBz5GlCDicQl2S1HZb08iAowJd7W/rTOsCXxv6lKOrh3NII2N9Goq5y4MABGjVqxOOPP06LFi2IjY1lzJgxBAUF0bBhQ15//fUr+3bs2JGwsDDS0tIoXbo0EyZMoGnTprRr144TJ05kef558+Zx9913M3ToUGbPnn1le1xcHAMHDqRJkyY0bdqUTZs2AVayurxt5MiRAIwYMYJFixZdObZEiRIArFq1ih49ejBs2DCaN28OwIABA2jZsiUNGzbk66+/vnLMzz//TIsWLWjatCm9evUiPT2d2rVrk5Bg1WCmp6dTs2bNK6+VKqwupWWw5UgCn/92kFHfhtD8v7/Q56P1vPLjTjYfjicooAyvD2zIsvGdCPt3L6Y+0oonu9YmKMA3T5IIaIkEgP8s2cmumKRcPWdg5ZK8OqDhbR27a9cupk2bxhdffAHA22+/ja+vL2lpaXTr1o3BgwcTGBj4t2MSExPp0qULb7/9Ns899xxTp05lwoQJ15w7ODiYt956i1KlSjFixAhefPFFAJ566il69uzJuHHjSEtL48KFC4SHh/POO+/w559/4uvrm60P9Y0bN7Jr164rJZ3p06fj6+vLhQsXCAoK4t577yUlJYUnnniC9evXU716dRISEnB3d2f48OH88MMPjBs3jhUrVtCqVSt8fX1v63uoVH51LiWNrUdOX6mmCos6Q0paBgA1yxenbyM/WgX40rqGL/5lvF2iE4omEhdUq1YtWrVqdeV1cHAw33zzDWlpacTExLBr165rEom3tzd9+/YFoGXLllm2fxw7doyjR4/Stm1bRIT09HT27NlD/fr1+e2335g1axYAHh4elCxZktWrVzN06NArH+bZ+VBv167d36rLPvzwQxYvXgxYY3cOHjxIVFQU3bp1o3r16n8776hRoxgyZAjjxo1j6tSpjB49OtvfM6Xyq5NnUwiNTGCzo41jV0wSGQbc3YSGlUsyom11WgWUISjAl3IlitodbpY0kcBtlxycpXjx4lee79+/n48//pjNmzdTunRpRowYkeVYisyN8+7u7qSlpV2zz+zZs4mPj78yoC8xMZFZs2bx2muvAdd2rzXGZPnfjoeHBxkZ1n9I6enpf7tW5thXrVrFunXr2LhxI97e3nTs2JHk5OTrnjcgIIAyZcqwZs0atm3bRq9evbL8/iiV320+nMD8LdGERCZw6JTVMO7l6UazqqUZ1602rWr40rxaGUoUzR8f0dpG4uKSkpLw8fGhZMmSxMbGsmLFits+V3BwMKtWrSIyMpLIyEg2b95McHAwAN26dbtSlZaenk5SUhI9evRg1qxZV6q0Ln8NCAhgy5YtACxcuJD09PQsr5eYmIivry/e3t7s3LmTkBCrN3eHDh1YvXo1R44c+dt5wSqVPPDAAwwbNuy6nQyUyq+MMXy9/hDDpmxg+c44apYvzkt967PgyfZsf7U3s8a047le9ehUp3y+SSKgJRKX16JFCwIDA2nUqBE1a9akQ4cOt3WegwcPEhcXR1BQ0JVtderUoWjRomzZsoXJkyfz2GOP8eWXX+Lh4cGXX35J69at+ec//0nnzp3x8PCgZcuWfPPNN4wdO5aBAwfyyy+/0KtXL4oWzbq43a9fP6ZMmULTpk2pX78+bdq0AaBixYp8/vnnDBw4EGMMlStXZtkyazjQoEGDePTRR3nkkUdu6z6VclXJqelMXBjB/K3R9Gnox/v3NaV4PkoWNyLWUI6CLSgoyFy9sNXu3btp0KCBTRGp69m4cSMvvfQSa9asyfJ9/bmp/OhEUjJjvttCWNQZnu1Rh2e618HNzf5G8psRkS3GmKCb7Vcw0qEqEN544w2mTJlypdFfqYIgPOoMY74L5WxyGl+MaEGfRpXsDinXaSW0chkTJ07kyJEjtGvXzu5QlMoVC7dFM+TLDRTxcGPBk+0LZBIBLZEopVSuS88wvLN8D1PWHaJdzbJ8+kALfIvffNqj/EoTiVJK5aLEC6k8PWsb6/ad5OF21Xm5fyCe7gW78kcTiVJK5ZIDJ87x2IxQok9f4K17GjO8tXPmsnM1mkiUUioXrNlzgmeCt1HU040fHmtLq4DCM71PwS5vubD4+HiaNWtGs2bN8PPzo0qVKldeX7p0KdvnmTp1KnFxcdd9/9KlS/j6+vLKK6/kRthK2eLipXRW7IxjyrqDHDtz0e5w/sYYw+e/HeTR6SFUK1uMH8d1LFRJBLREYpvsTCOfHVOnTqVFixb4+fll+f7y5csJDAxk9uzZ/Pe//81RzDei08ar3JaUnMqaPSdYHhHHb3tPcjHVmkHh7WV76BXox0Ptq9Oupr3LZV+8lM6/5m9ncXgM/ZtU4t3BTfEukjcz7roSLZG4oOnTp9O6dWuaNWvGk08+SUZGBmlpaTz44IM0btyYRo0aMWnSJGbPnk1YWBhDhw69bkkmODiY5557jooVK16ZogRg06ZNtGvXjqZNm9KmTRsuXLhAWloa//jHP2jUqBFNmjThs88+A8Df358zZ84A1oDBHj16APDyyy8zduxYevbsyciRIzl48CCdOnWiefPmtGzZ8spU9ABvvvkmjRs3pmnTpkycOJG9e/fSunXrK+/v3r37b69V4RR/LoXZIUcZOW0zQf9dxfhZYWw5cprBLf2ZOboNa1/sytgutdh0OJ77v9pE74/W8f3GI5xPuXZuOWeLOXORIV/+yZLtMbzYux6fDG9eKJMIaInEsmwCxO3I3XP6NYa+b9/yYRERESxcuJA///wTDw8PxowZw6xZs6hVqxanTp1ixw4rzjNnzlC6dGk++eQTJk+eTLNmza451/nz51m7di3Tpk0jLi6O4OBgWrVqRXJyMsOGDWP+/Pm0aNGCxMREihYtymeffUZMTAzh4eG4u7tna9r4bdu2sW7dOry8vLhw4QK//PILXl5e7Nmzh4cffphNmzaxZMkSli1bxubNm/H29iYhIQFfX1+8vLyIiIigUaNGTJs27cp6J6pwiU28yMqdx1kWEcvmwwlkGKjq683D7avTp1Elmlct/bdR4P/qU5/xd9RhSXgM0zdE8vKiCN5ZvochLavyULvqBJQrfv2L5ZItRxIY+91WklPT+erBIHoEVnT6NV2ZJhIXs2rVKkJCQq7MiXXx4kWqVq1K79692bt3L+PHj+fOO+/M1sy4ixcvpmfPnnh5eTFkyBCCgoJ477332L17N9WqVaNFixYAlCpV6sq1n332Wdzdrf+qsjNt/MCBA/Hy8gIgJSWFcePGER4ejoeHBwcPHrxy3kcffRRvb++/nXfUqFFMmzaNd955h7lz57Jt27Zb+VapfCzy1HmW74xjeUQcYVFWabdOhRKM61ab3o38CKxU8oZVVl6e7gwJqsrglv5sPXqa6X8eYcaGSKb9eZiudcvzUPsAutQp75RpSGaHHOXlRRFUKe1N8GNtqFPRJ9evkd9oIoHbKjk4izGGRx99NMv2jO3bt7Ns2TImTZrE/PnzmTJlyg3PFRwczKZNmwgICADgxIkTrFu3jpIls/4jzc608VdPYZ952vj333+fqlWr8v3335Oamnpl5cTrnXfIkCG8+eabdOjQgXbt2lG6dOkb3o/Kv4wx7D1+luURVvLYE3cWgMZVSvFi73r0buhH7Qolbvm8IkLL6r60rO7Ly/0a8MPmo8zcdJSR00IIKFuMB9sFMCTIn5Jenjm+h9T0DN74eTff/hlJpzrlmDy8BaWK5fy8BYG2kbiYHj16MGfOHE6dOgVYvbuOHj3KyZMnMcYwZMgQ/vOf/7B161YAfHx8OHv27DXnOX36NJs2bSI6OvrKtPGTJk0iODiYhg0bcuTIkSvnSEpKIj09nV69evH5559fmRY+q2nj58+ff93YExMTqVSpEiLC9OnTuTwhaK9evfjmm2+4ePHi385brFgxunfvzrhx47RaqwAyxhAWdYa3l+2h+/tr6fPRej7+dT8lvTx5pX8gv/+rG0ue7shT3WrfVhK5WoWSXjzboy5//Ks7Hw9rRtkSRfnvT7to++avTFy4g33Hr/07ya7T5y/x8NTNfPtnJKM71mDaI600iWSiJRIX07hxY1599VV69OhBRkYGnp6efPHFF7i7uzNq1Kgr/92/8847AIwcOZLRo0fj7e3N5s2bryxwNX/+fHr27Imn51+/7HfffTcTJ05k8uTJBAcH88QTT5CcnIy3tzerV69m7Nix7N+/nyZNmuDh4cETTzzB448/zmuvvcZjjz2Gn5/fDRvEx40bx+DBgwkODqZHjx5Xppfv378/4eHhBAUF4enpyYABA66UuB544AGWLl3KHXfc4axvqcpD6RmGkMgElkfEsWJnHLGJyXi4Ce1qlWV0pxr0CvSjvI9zV/kr4uHGwGZVGNisChHHEpn+ZyRzt0Qzc9NR2tcqy0PtAujRoAIe2RxtvjfuLKNnhHA8MYX3hjRlcEt/p8afH+k08spWb7/9NikpKbz66qvZ2l9/bq7HGMOGQ/EsDovhl13HiT9/iaIebnSuW56+jfy4o35F2/97Tzh/iVkhR/l+wxFiEpOpUtqbB9pWY1irajecA2vFzjiemx1G8aIefPlgS5pXK5OHUdtPp5FXLm/AgAFERUWxevVqu0NRtyEtPYOfd8Ty1fpDRBxLokRRD7rXr0CfRn50qVvepRZt8i1ehCe71mZMp5qs2n2CGRsi+d/yvXy0aj93Na3MI+0DaFSl1JX9MzIMn6w+wIer9tHUvxRTHgqiYkkv+27AxbnOT1oVOkuWLLE7BHUbzqekMTskim9+P8yxMxepWb44b9/TmLubV8HL07XHUXi4u9GnkR99Gvmx7/hZpv8ZyYKtx5i3JZqW1cvwULvqdK1bgQkLtrMsIo57mlfhzXsau/x92a1QJ5Lr9SZSrqkwVMO6shNJyXz7ZyTfbzxCUnIarQN8ee2uhtxRv0K+WO3vanUr+vDGoMb8s0995m2J5rsNkYyfFYa7m2CMYeKdDRjdqYZ+RmRDoU0kXl5exMfHU7asvVMsqOwxxhAfH39lzIrKOwdOnGXKukMs2hZDakYGfRr6MaZzzQLTXlDK25NRHWswsn0Aa/ef5MdtxxjUwp8udcvbHVq+UWgTib+/P9HR0Zw8edLuUFQ2eXl54e+vPWbygjGGzYcTmLLuEL/uOUFRDzfua+XP6I4182TkuB3c3IRu9SrQrV4Fu0PJdwptIvH09KRGjRp2h6GUS0nPMKzYGceX6w4RHnUG3+JFeLZHHR5sW52yJZzbbVflX4U2kSil/nLxUjpzt0Tx9frDHE24QPWyxfjv3Y0Y3MK/0E5EqLJPE4lShdipcynM2HCE7zZEcvpCKs2qlualvvXp1dAP93zYgK7soYlEqULo8KnzfLX+EPO3RJOSlkGPBhUZ26UmQdXLaOcTdcs0kShViGw5cpop6w6yctdxPN3cuKdFFUZ3qpkrc12pwksTiVIFXEaG4Zfdx5my7hBbjpymlLcnT3WtzUPtq1PBR7tTq5zTRKJUAbYjOpFnZ2/j4Mnz+Jfx5tUBgdwXVNWlpi9R+Z/+NilVQM0NjWLiogjKFS/CpOHNubORX7ZnvFXqVjj1t0pE+ojIXhE5ICITsni/uoj8KiLbReQ3EfHP9N47IhLheAzNtP1bETksImGOx7VrzCpViF1Ky+DlRTt4cd52gqqXYcnTHbmraWVNIsppnFYiERF34FOgJxANhIjIYmPMrky7vQfMMMZMF5HuwFvAgyLSD2gBNAOKAmtFZJkxJslx3IvGmHnOil2p/Op4UjJPfL+FrUfPMLZzTV7sXU8TiHI6Z/6GtQYOGGMOGWMuAbOAgVftEwj86ni+JtP7gcBaY0yaMeY8EA70cWKsSuV7mw8n0G/S7+yJO8un97fgpTsbaBJRecKZv2VVgKhMr6Md2zILB+51PB8E+IhIWcf2viJSTETKAd2AqpmOe8NRHfahiOi8DapQM8bw7R+Huf+rjfh4ebDoqQ70a1LJ7rBUIeLMRJLVqKar5wF/AegiItuALsAxIM0YsxJYCvwJBAMbgDTHMS8B9YFWgC/wrywvLjJGREJFJFQnZlQF1cVL6Tw/J5zXluyia73yLHqqA3Ur+tgdlipknJlIovl7KcIfiMm8gzEmxhhzjzGmOTDRsS3R8fUNY0wzY0xPrKS037E91lhSgGlYVWjXMMZMMcYEGWOCypfX6aBVwROVcIF7P/+ThWHHeK5nXaY8GEQpb3uXtFWFkzO7/4YAdUSkBlZJYxhwf+YdHNVWCcaYDKySxlTHdnegtDEmXkSaAE2AlY73KhljYsWax+FuIMKJ96CUS1q77yTPBG/DGMPUh1vRrb5Ofa7s47REYoxJE5FxwArAHZhqjNkpIq8DocaYxUBX4C0RMcA64CnH4Z7AesecP0nACGPM5aqtmSJSHquUEgY87qx7UMrVGGP47LeDvLdyL/Uq+vDFiJYFdn0QlX9IYVi+NCgoyISGhtodhlI5cjY5lRfmhrNi53EGNK3MO/c2plgRHVOsnEdEthhjgm62n/4WKpUPHDhxljHfbeFI/AVe7teAUR11LXHlOjSRKOXilkfE8fycMLw83fl+VBva1Sprd0hK/Y0mEqVcVHqG4f2Ve/nst4M09S/F5yNaUrm0t91hKXUNTSRKuaDT5y/xzKxtrN9/imGtqvLaXQ3x8tQlb5Vr0kSilIuJOJbI499v4URSCm/d05jhravZHZJSN6SJRCkXsmBrNC8t2EGZYkWYPbYtzauVsTskpW5KE4lSLuBSWgZv/LyL6RuO0KaGL5Pvb0F5H51GTuUPmkiUstmJpGSe+mErIZGnGdWxBhP61sdTZ+1V+YgmEqVstOVIAk98v5Wk5FQ+HtaMgc2uniBbKdeniUSpPJaRYdh69DSLw2MI3nyUSqW8mf5oaxpUKml3aErdFk0kSuUBYwzh0Yn8FB7DzztiiU1MpqiHG/2bVOa1AQ0pVUxn7VX5lyYSpZzEGMOu2CSWhMfy844YohIu4ukudKlbnn/1qU+PwIqUKKp/gir/099ipXLZvuNn+Sk8hp+2x3Lo1Hnc3YQOtcvxdPc69A7009KHKnA0kSiVCw6fOs9P4TEs2R7DvuPncBNoW7MsozvVpE8jP3yLF7E7RKWcRhOJUrcpKuECP22P5aftMeyMSQKgVUAZ/nNXQ/o29qOCj5fNESqVNzSRKHULYhMv8vP2WH7aHktY1BkAmlUtzcv9GtCvSSUqldJJFVXho4lEqZs4eTaFZRGxLAmPISTyNAANK5fkX33q079JJar6FrM5QqXspYlEqaukZxiOJyXz296T/LQ9ho2H4skwUK+iD8/3rEu/JpWoWb6E3WEq5TI0kahCJTU9g+NJycQlJhObmMzxJOur9foicYnJHD+bQnqGtQR1zXLFGdetNv2bVqZuRR+bo1fKNWkiUQVGcmr6VYkhmbjEi9ZXx/ZT51Iw5u/HFSvijl8pLyqV8qJdrXJUKuVFxVJetKhWmsBKJXVJW6VuQhOJyldOnk3h9wMniU64SOxVJYuE85eu2b+klweVSnnjV8qLwEolryQMv1Le+JX0wq+UFyW9PDRZKJUDmkiUy4tLTGZ5RCxLI+IIiUy4UqLwLV4Ev5JeVHaUHi4nCOurF34lvSiuI8eVcjr9K1Mu6diZiyzbEcuyiDi2HLF6StWr6MMz3evQq2FFapUvoUvPKuUiNJEol3E0/gJLI6zkEe4YoxFYqSQv9KpLn0aVqF1Be0op5Yo0kShbHTp5jmURcSzdEXtldHgT/1L8q099+jbyI6BccZsjVErdjCYSlef2Hz/L0h1xLIuIZU/cWQBaVCvNxDsb0KeRnw7wUyqn0tMgYh6EfA0jFoCXc9e60USinM4Yw+7YsyyLiGXpjlgOnjyPCLSq7surAwLp08hPpxZRKjekp8H22bD+PUg4BBUbw9lYTSQqfzLGEHEsyWrz2BFLZPwF3ATa1CjLI+0D6N3QjwoldVJDpXJFeiqEz7ISyOlI8GsCQ2dCvTvBzc3pl9dEonKNMYZtUWeu9LaKPn0Rdzehfa2yjO1Si56BFSlXoqjdYSpVcKRdgvAfYP37cOYoVG4Ofd6Gun0gD8dGaSJRucIYw/Nzw1mw9Rie7kLH2uV45o469GxQkTK6FodSuSstBbZ9D79/CIlRUKUl3Pk+1OmZpwnkMk0kKlcs2HqMBVuPMbpjDZ6+ow6lvHUVQKVyXWoybPvOSiBJx8C/NQz4CGrdYUsCuUwTicqxI/Hn+fePEbQO8OWlOxvg7qbTjSiVq1IvwtYZVgI5GwtV28LAyVCzm60J5DJNJCpHUtMzGD8rDDc34cNhzTSJKJWbUi9C6DT442M4FwfVO8CgL6FGZ5dIIJdlK5GIyHxgKrDMGJPh3JBUfvLJr/sJizrDJ8ObU6W0duFVKldcOv9XAjl/AgI6weBvIKCj3ZFlKbslks+BkcAkEZkLfGuM2eO8sFR+sPlwApPXHODeFv4MaFrZ7nCUyv9SzkHoN/DHJLhwCmp2hS7ToXp7uyO7oWwlEmPMKmCViJQChgO/iEgU8BXwvTEm1YkxKheUeDGVf8wOw79MMf4zsKHd4SiVv6Wchc1fwYbJcCEeanWHLhOgWhu7I8uWbI9UEZGywCPAaGAb8DHQAvjlBsf0EZG9InJARCZk8X51EflVRLaLyG8i4p/pvXdEJMLxGJppew0R2SQi+0Vktoho39I8Zozh5UURxCUl8/GwZpTQqdpdV+Qf8EEgBA+HiAVw6YLdEd0+Y6xxEwVJchKsew8+agy//gcqt4BRq+DBhfkmiUD220gWAPWB74ABxphYx1uzRST0Ose4A58CPYFoIEREFhtjdmXa7T1ghjFmuoh0B94CHhSRflhJqhlQFFgrIsuMMUnAO8CHxphZIvIFMAqr6k3lkYXbjrEkPIbne9alebUydoejrufwevjhPiheDmK2wd6lUKQENBgAjQdDja7g7uL/BGRkQMxW2L0Ydv8E507AQ4vAP8juyHImOQk2fQEbPoXkM9YAwi7/tMaD5EPZ/S2abIxZndUbxpjr/URbAweMMYcARGQWMBDInEgCgX84nq8BFmXavtYYkwakiUg40MfRPtMduN+x33TgNTSR5Jmj8Rf49487aR3gy5PdatsdjrqeQ2vhh6FQpjo8vASKlYUjf8D2ObBrMYQHQ/Hy0PAeaDzE+mB2lV5A6alWrLt/gj0/Wd1d3TysnkoZaTBzCDy6HMrXszvS23P+FEzrC6f2WVOYdPmnNSI9H8tuImkgIluNMWcARKQMMNwY89kNjqkCRGV6HQ1cXVYLB+7FqiYbBPg4qtDCgVdF5AOgGNANKwGVBc44Eszlc1bJ6uIiMgYYA1CtWrVs3qa6kdT0DMbP3oYIfDC0qXb1dVUH10DwMPCtCQ8thhLlre01OluPfu/D/pWwYy5s+RY2fwllAqyE0vg+KF8372NOvWjFvXsJ7FsGF0+DhzfUvgMa3AV1e4F3GWsiwm96w3f3wKgVUMr/5ud2JRfPwHeD4EwUPPSj1ZheAGQ3kTxmjPn08gtjzGkReQy4USLJ6lPGXPX6BWCyiDwCrAOOAWnGmJUi0gr4EzgJbADSsnnOyzFOAaYABAUFZbmPujWf/LqfbUfPMGl4c/zL6FTvLunArzDrfihb2/qgKl7u2n08ilrVWw0GQHKi9Z//jrnWfE3r3rUm/GtyHzS6F0o6sTdeciLsW2lVWx34FVLPg1cpqNsXGvS3RmsXuer3zLcmjJgP3/azksmjy6GYr/NizE2XzlulxBO7YfisApNEIPuJxE1ExBhrtWxH+8fNGrmjgap1EhSHAAAgAElEQVSZXvsDMZl3MMbEAPc4zlkCuNcYk+h47w3gDcd7PwD7gVNAaRHxcJRKrjmnco6QSKur7z0tqnCXdvV1TftXWUmkXF1HEil782O8SkHzB6zH2TjYudCq/lr5Mqx8xRq30HgIBN5llQhy6twJ2POzVWV1aC1kpEKJitB0mJU8AjqB+02m16nUBIYHW4nkh/usey3i4gugpaXArAcgejMMngZ1etgdUa4SR2648U4i7wIBwBdYJYDHgShjzPM3OMYD2AfcgVXSCAHuN8bszLRPOSDBGJMhIm8A6caYfzsSVWljTLyINAF+AJoZY9Ic7STzMzW2b79JFRtBQUEmNDTLPgEqGxIvpnLnx+txdxOWju+kvbRc0b6VMPsBKF/f+mDN6X/p8QetUsr2OZBwENyLQJ1eVlKp2xs8b2Hw6enIv9o7jm4EDJSp8VepqErQ7U11vnsJzHnIKrkMD755ArJLehrMfdi6/4GfWUk7nxCRLTdoB/9rv2wmEjdgLFZSEGAl8LUxJv0mx90JfAS4A1ONMW+IyOtAqDFmsYgMxuqpZbCqtp4yxqSIiBew1XGaJOBxY0yY45w1gVmAL1Y35BHGmJQbxaGJ5PYZYxg/K4yfd8Qy7/F22kvLFe1dDnMehAqBVrfR3KzqMcbq8bVjHkTMt6bpKOJjJYAmQ6BGF3Bzv/aYE7utD87diyFuh7W9YmOr1NFggBVrbjTub5kOS56BJkPh7i/yZO2NW5KRAYuegO2zoM870PZxuyO6JbmaSPI7TSS3b8HWaJ6bE87zPevy9B117A5HXW3PzzDnYfBrZCWR3Kh+up6MdIhcb5VUdi2GlCQoXsFqS2k8BDB/ddNNOAgIVG1jJY/6/cG3hnPiWvcerP4vtH0Ser/pOr3PjIGlL0LIV9DtZejyot0R3bLsJpLsjiOpg1VyCASuLGtnjKl52xEql3e5q2+rgDLa1dcV7V4Ccx+BSk2tdbm9Szv3em7uVgNxza7W2hf7V8KOOdaUHpscPfAvd9NtPw7q9QOfis6NCaDT81aX2o2fWV2aOz3n/Gtmx6+vW0mk/dPQ+QW7o3Gq7FZ2TwNeBT7E6oo7kqx7UKkCIi09g2cdXX0/HKqz+rqcXT/CvEet8Qcj5luN5nnJ08tqgA+8y+rSuneZlWjq9HJ+QruaiFUSuXDKGh1evBy0eChvY7ja+g/g9w+g5SPQ87+uU0pykuwmEm9jzK+OnltHgNdEZD1WclEF0KTVB9iqXX1d086FMG+UNYjwgXngVdLeeLxLQ7Ph9sbg5mY1ZF9IgCXjwdvXqlKzw+avrITWeAj0+6DAJxHI/lxbyY4G9/0iMk5EBgEVnBiXslFIZAKTV+/Xrr6uKGK+I4m0cpREbE4irsSjCAz9zpqvat6j1jxjeS18Fix9wRoLc/fn13ZEKKCym0iexRph/gzQEhgBPOysoJR9Ei+m8uwsx6y+d+msvi5l+1yYP9pqwB4xD4r62B2R6ylSHB6Ya00NEzzsrx5jeWH3Elj0pNVGNORb1+2O7AQ3TSSOMR33GWPOGWOijTEjjTH3GmM25kF8Ko/9+0drVt+PhjXDx6vw/CG4vPDZsHAMVGtvfVBqErm+Yr5W54OiPvD9vZBw2PnXPLjaKgVVaQHDgq02pELkponEMVakpUghqOgr5BZui+bHsBjG31GHFjpexHWEBcPCsdYyqw/MgaIl7I7I9ZWuaiWT9EvW3FbnTjjvWkc3WqPWy9V1JPnC9/PJbtXWNuBHEXlQRO65/HBmYCpvHY2/wCuLrK6+T2lXX9ex7XtrQFuNznD/HNefCsSVVKgP98+Fc8etkklyUu5fIzYcZt4HPpWcP47HhWU3kfgC8VhTuA9wPGzqEqFy25WuvsAH92lXX5exdQb8OM4at3H/7GsnMFQ3V7UV3DcDTuyy5iFLTc69c5/cZ5V2ivpY09KUKLz9j7K71O5IZwei7POJo6vvx8OaUdVXP6xcwpZvrW6ste6AYTNvbW4r9Xd1elo9qBY8BgtGw5DpOe9NdfoIzBgI4mYlkdJVb35MAZbdke3TyGK6dmPMo7kekcpToZEJfLJ6P/c0r8LAZlku7aLyWsg38PNzULsnDP2+0DXcOkWT+6zR7ytesr63/T+6/fEdZ+OsJJJ6Hh5ZCuW0Kji7AxJ/yvTcC2sRKp2+PZ9LSk5l/KwwqpTx5j8DtauvS9j8lTUOoU5va0yER1G7Iyo42j0J509aI86LV4DuE2/9HBcSYMbdjiV/f7TmOFPZrtqan/m1iAQDq5wSkcozryyyuvrOGdtOu/q6gk1fwrJ/WoPZ7puuScQZ7vi3lUzW/c+aSqXN2Owfm5zk6E58yOqdVbWV8+LMZ253YYk6gK5fm48t2naMH8Ni+EePurSsXjh7mriUjZ/D8gnWRIdDvrVGaavcJ2JVa108Dcv+Za1l33jwzY9LvegY4Ljdqm6s2cX5seYj2eq1JSJnRSTp8gNYAvzLuaEpZ4lKuMDLiyIIql6Gp7rVsjsc9edkK4nU769JJC+4e8C9X0P19rDwcWuZ3xtJu2QtoHXkTxj0JdTrmzdx5iPZSiTGGB9jTMlMj7pXV3ep/CEtPYPxs6yuvh8ObYaHu4stBFTY/PExrJwIgQM1ieQlT29rVcXy9WH2gxC9Jev9MtKt3l77V0L/D7NXeimEslsiGSQipTK9Li0idzsvLOUsl7v6/t+gRtrV104p52DZBPjl39BwENz7TaGam8kleJWy5iwrXg5mDrbGhWSWkWGtvrhrkTUVfJCOgrie7P47+qoxJvHyC2PMGXQK+XznclffQfmtq2/qRTi0Fta8CdP6wXv14Ld3cndwWV7avwo+a2ctBtXqMbjna00idvHxs0aku7nD9/dA4jFruzFWSXHb99D5n9DhGXvjdHHZbWzPKuHcbkO9skFScirPzra6+r7u6l19L52HqM0Q+Tsc+QOObbHmTBI38Gtidbn87U0I/wH6/g/q9rY74uw5d9Iax7BjrjUv08hlVj29slfZWtaU/NP6Wclk5DKrB93Gz6DN49Dt/9kdocvLbjIIFZEPgE+xBiY+DVynUlG5mvQMw8SFEcQmumhX35RzELXRWj8i8neI2QoZaSDu1jKybR6HgI5Qre1fKwEeWmuth/3DfVDvTujzFpQJsPU2rssYCA+GFf/PutcuE6zlYLV7r+uo1BSG/2B17/2yMyRGQbMR0PutQrEwVU6JMdcMWL92J5HiwCtAD8emlcAbxpjzTowt1wQFBZnQ0FC7w7DFuZQ0np0Vxqrdx3mxdz3XmJAxOcmaMfXI71byiNkGJt1a77tycytpVO8I1drceLr0tEtW9dBv71jHd3wOOox3rZHgCYdgybNweK21jsiASdZkgso17VoMcx+GBgNg8LRCszDV9YjIFmNM0E33y04iye8KayKJPn2B0dND2Xf8LK8OaMjD7QPsCeTiGTi64a+qqthwMBng5glVWkJAByt5+Le+vSm4E4/Bypdh5wIoU8NR3dUr9+/jVqSnwobJ8Nvb4F4EerwKLR+1loRVri0pFkpU1J8VuZxIROQXYIijkR0RKQPMMsbki8rpwphIthw5zdjvQklJy+DT+1vQuW75vLv4hYS/Ekfk745V6oz1gerfylpXI6Cj9Tw3Z7Q99JtV3XVqnzWwr89b1kp5ee3YVlj8DBzfYY0NufNdKKlLFqv8J7uJJLttJOUuJxEAY8xpESm8cya7uAVbo5kwfweVSnsxa0wralfIo4V2dv9k/Qd+PAIw4OFlJYuuE6zk4R/k3Flsa3aFx//4q7rr09bQ6Xlo/0zeVHelnLN6lm363JrLaej3VhWJUgVcdhNJhohUM8YcBRCRALKYDVjZKyPD8N7KvXz220Ha1vTl8wdaUqZ4Hg1wiz9oDdwqXQ26TbSqq6q0zPsGZY8iVjtJo8FW9801b0DYD1apoE5P5113/yr46R+QeBSCHoUer/3VMUCpAi67iWQi8LuIrHW87gyMcU5I6nacT0njH7PDWLnrOMNbV+X1gY3wzKtR6xnp1ip+bp7W8qalXGCMSqkq1kjxFg9b1V0zB1vVTL3fzN3qrr916a0HI5dD9Xa5d36l8oHszv67XESCsJJHGPAjcNGZgansizlzkdHTQ9kTl8S/+wcyskMAkpddFv/4CKI2wT1fuUYSyaxWN3jiT9j4Kaz9n6O66wVo/3TOqruMsUo6KydaVVpdX4KO/9AuvapQyu7CVqOB8YA/ViJpC2zAWnpX2Wjr0dOMmbGFlNR0pj7Siq718rjpKnY7rHkLAu+GxkPy9trZ5VHE+pBvPARWTIQ1/wdhM2+/uiv+oFWNdXgtVG0Ld02C8vVyP26l8ons1n2MB1oBR4wx3YDmwEmnRaWy5cewYwybspFiRdxZ8GT7vE8iqcmwcCwU87UmtHP1gVul/K11Ph5cZI1ZmTkYZj1gLZuaHemp8PuH8Hl7a+xLvw+sUdCaRFQhl902kmRjTLKIICJFjTF7RET/emySkWH4cNU+Pll9gNY1fPliREt886pRPbM1/wcndsED86xkkl9cU93VBjo7enddr2oqc5feBgOssSrapVcpIPuJJFpESgOLgF9E5DS61K4tLlxK4/k54SyLiOO+IH/+7+7GFPGwYeBU5B/WOhotRzq3N5Sz/K266//B6v+z2jz6vgt1evy1X+YuvSUqwtCZ0KC/fXEr5YJueWS7iHQBSgHLjTGXnBJVLisoAxJjEy/y2IxQdsYkMfHOBozqWCNvG9UvS06CLzpYc2E9/vvtjUZ3NQdXW7274g9Yvbv6vAUn98JPzzm69I6yRqdrl15ViOT2gMQrjDFrb76Xym3hUWd4bEYo51PS+ObhILrXr2hfMCtegsRoq6trQUgiALW6W9VdGz6Fde/CpBaQkWp16X10hTVhpFIqSzoVfD6wJDyGF+aGU96nKN+N6kA9vxtMZOhse5ZaazR0fM6aVLEg8ShqzcrbeAj89pY1b1eHG7SbKKUATSQuzRjDR6v28/Gv+2kVUIYvRrSkbAkbP9TOn7JWjPNrbI2bKKhKV4W7P7M7CqXyDU0kLuripXRemBfOz9tjGdzSnzcGNaKoh41TWhsDS8ZDciI8tFjXFldKXeHU7j4i0kdE9orIARGZkMX71UXkVxHZLiK/iYh/pvf+JyI7RWS3iEwSR6uyY7+9IhLmeBS4ySOPJyUzdMoGlu6I5aW+9Xl3cBN7kwhYCzPt+Qm6vwIVA+2NRSnlUpxWIhERd6wVFXsC0UCIiCw2xuzKtNt7wAxjzHQR6Q68BTwoIu2BDkATx36/A12A3xyvHzDG5P9uWFnYEZ3I6BkhnEtOY8qDQfQMtLFR/bIzR2HpP60ZfNs9ZXc0SikX48wSSWvggDHmkKOb8Cxg4FX7BAK/Op6vyfS+AbyAIkBRwBM47sRYXcLSHbEM+fJPPNzcmPdEe9dIIhkZsOhJ6/ndnxf6FeOUUtdyZiKpAkRleh3t2JZZOHCv4/kgwEdEyhpjNmAllljHY4UxZnem46Y5qrVekesMpBCRMSISKiKhJ0+69mwuxhgm/bqfJ2dupWHlUix6qgMNKpW0OyzLps8hcj30fdueRaKUUi7PmYkkqw/4q0c/vgB0EZFtWFVXx4A0EakNNMCaJLIK0F1EOjuOecAY0xjo5Hg8mNXFjTFTjDFBxpig8uXzcHXAW5SSls74WWF88Ms+7mlehZmj21Dex0W6m57YDav+A/XuhGYP2B2NUspFOTORRANVM73256ppVYwxMcaYe4wxzbHWPMEYk4hVOtlojDlnjDkHLMOacRhjzDHH17PAD1hVaPnWzI1HWRwew4u96/H+fU3x8nSRqqO0S7BgDBT1gQGTXH9CRqWUbZyZSEKAOiJSQ0SKAMOAxZl3EJFyInI5hpeAqY7nR7FKKh4i4olVWtnteF3Ocawn0B+IcOI9OJUxhtkhUTStWpqnutW2Z7qT61n3P4jbbk2RXsJ1S3RKKfs5LZEYY9KAccAKYDcwxxizU0ReF5G7HLt1BfaKyD6gIvCGY/s84CCwA6sdJdwYswSr4X2FiGzHWhflGPCVs+7B2cKjE9l7/CxDg6refOe8FBUC69+3qrPq97M7GqWUi3PqgERjzFJg6VXb/p3p+TyspHH1cenA2Cy2nwda5n6k9pgdEoW3pzsDmlayO5S/XDoPC8dASX/o87bd0Sil8gEd2W6TC5fSWBIew52NK+Hj5Wl3OH/55d+QcBge+Qm8XKTnmFLKpdmwkIUC+Hl7LOdS0hjayoWqtQ6sgpCvrUGHAR3tjkYplU9oIrHJnNAoapYrTqtK7rD5Kzh3wt6ALiTAoqegfANrGhSllMomTSQ2OHjyHCGRpxkSVBVZ+z9Y+gJ81ASW/z84a9MA/qUvwIV4uOdL8PSyJwalVL6kicQGc0KjcHcTBjcoCqFToW5faHg3bPoCPm4CyyZAUmzeBbRjHkTMh64ToFLTvLuuUqpA0ESSx1LTM5i/5Rjd6lWg/I6vIfUi9HwdBn0B40Kg0WDYPAU+bmot/Zp4zLkBJcXAz8+Bfyvo8Kxzr6WUKpA0keSxNXtOcOpcCiOa+FhtIw0HQfm61ptla8Hdn8LTW6DpUKu0MqmZtW74magbn/h2GAM/PgXpqTDoS3DXTnxKqVuniSSPzQmNooJPUTonzINL56DzC9fu5FsD7voEnt4Kze6HrTNgUnNY8qw1pXtuCfkaDq6GXv9nJTGllLoNmkjy0ImkZNbsPcnwpqVx2/wl1O8PFRte/4Ay1WHAx/DMNmjxEITNtBLK4qfhdGTOgjl1AFa+ArV7QNCjOTuXUqpQ00SSh+ZtjSY9w/Cwx0pISYTOL2bvwNJVof8H8EyY9aEfPhsmtbC66yYcuvVA0tNg4Vird9Zdk3VCRqVUjmgiySPGGOaERNGpuje+4V9Bnd5QudmtnaRUFbjzXRgfBq0fg4h58EkQLHwC4g9m/zy/fwjHQqHfB1DShaZnUUrlS5pI8simwwlExl/gxbJ/wMUE6PLP2z9ZycrQ9x0YHw5tHoedC2FykDXt+8l9Nz42ZhusfRsaD4FG99x+DEop5aCJJI/MCYmiXNEMGh+ZATW7gX9Qzk/q4wd93oRnt1vTmuxeAp+2hnmj4OTea/dPvQgLxkLxClbJRimlcoEmkjyQlJzK0ohYXq0Sgpw/kbPSSFZKVLB6Xo3fDh3Gw95l8GkbmDsSju/6a79f/wun9lpdjL3L5G4MSqlCSwcO5IHFYTFkpKbQ+8xsqN4Bqrd3zoVKlIee/4H2z8CGydbAxp0LIHAg1OoOGz+F1mOs50oplUs0keSBOaFRjCuziSIX4qDzF86/YPGy0ONVaP80bPwMNn0Ju36EsrWhx3+cf32lVKGiicTJdscmsSs6npmlF1rTkNTsmncXL+YL3V+22k/Cgq0xI0WK5d31lVKFgiYSJ5sdEsUQjz/wSY6FzpPsGbPhXQbaPZn311VKFQqaSJwoOTWdJduOstx7CZRrBnV62h2SUkrlOk0kTrRy13E6payjvImBzu/qCHKlVIGk3X+daO7mSJ4t+iOmQiDUu9PucJRSyik0kThJVMIFSh5eRoA5hnR+Edz0W62UKpj0081J5oYe5WmPhaSWqWON41BKqQJK20icID3DcHzzQuq7RUHXKeDmbndISinlNFoicYLf95/kgUuzOV+8GjS61+5wlFLKqTSROEHE2vk0cTtMka7P6/K1SqkCTxNJLks4l0K76G84U8QPz+b32x2OUko5nSaSXLZx9UJauO0npc0z4FHE7nCUUsrpNJHkImMMVcI/Id6tLBU7j7I7HKWUyhOaSHLR/pCVNE2PILLeaGs9dKWUKgQ0keQiWfcup0wp6t75lN2hKKVUntFEkkuSD2+kzrkQNlS8Hx+fUnaHo5RSeUb7puaShGVv4GVKUKmHlkaUUoWLlkhyQ0wYlU+sY2HRgbSs4293NEoplae0RJILzq16m3RTDGkzBtGp4pVShYxTSyQi0kdE9orIARGZkMX71UXkVxHZLiK/iYh/pvf+JyI7RWS3iEwSxye0iLQUkR2Oc17ZbpvjuyhxaBnTM/rQv3V9W0NRSik7OC2RiIg78CnQFwgEhotI4FW7vQfMMMY0AV4H3nIc2x7oADQBGgGtgC6OYz4HxgB1HI8+zrqH7MhY9y7n8eJgzQep4KNdfpVShY8zSyStgQPGmEPGmEvALODq+dQDgV8dz9dket8AXkARoCjgCRwXkUpASWPMBmOMAWYAdzvxHm7s1H5k50JmpPVkQJuGtoWhlFJ2cmYiqQJEZXod7diWWThweXrcQYCPiJQ1xmzASiyxjscKY8xux/HRNzln3ln/PpekCIu8BtG1XnnbwlBKKTs5M5Fk1XZhrnr9AtBFRLZhVV0dA9JEpDbQAPDHShTdRaRzNs9pXVxkjIiEikjoyZMnb/ceri/hMGb7HL5P7U73oIZ4uGsHOKVU4eTMT79ooGqm1/5ATOYdjDExxph7jDHNgYmObYlYpZONxphzxphzwDKgreOc/jc6Z6ZzTzHGBBljgsqXd0Jp4fcPSMedL9L6c19Q1Zvvr5RSBZQzE0kIUEdEaohIEWAYsDjzDiJSTkQux/ASMNXx/ChWScVDRDyxSiu7jTGxwFkRaevorfUQ8KMT7yFrZ6IwYcEsce9BjRq1qFGueJ6HoJRSrsJpicQYkwaMA1YAu4E5xpidIvK6iNzl2K0rsFdE9gEVgTcc2+cBB4EdWO0o4caYJY73ngC+Bg449lnmrHu4rj8+wgD/O9eXYa20NKKUKtycOiDRGLMUWHrVtn9nej4PK2lcfVw6MPY65wzF6hJsj6RY2Podm0r25lx6Rfo2qmRbKEop5Qq0hfhW/TkJk5HGK/E9uatZZbyLuNsdkVJK2UoTya04dxJCp3GoUj8OpJZnqFZrKaWUJpJbsmEypKfwvwv9qe/nQ+MqOl28UkppIsmuCwkQ8jWJNQewIq4EQ1tV1QkalVIKTSTZt/FzuHSOmUUGU8Tdjbub2TegXimlXIlOI58dyYmw6UvS6/Xnyz1e9GpYjjLFi9gdlVJKuQQtkWTHpimQksj6yiNJvJiqjexKKZWJlkhuJuUsbPwU6vbh6/0+VCntRoda5eyOSimlXIaWSG4m5Bu4eJrjzZ7h9wOnuC+oKm5u2siulFKXaSK5kUsXrC6/tboz81h5RGBwkK7JrpRSmWkiuZEt38L5k6R3epG5oVF0qlOeKqW97Y5KKaVciiaSGzn0GwR0Yn1KbWITkxmq08UrpdQ1tLH9Ru6fDRdPM2fhYcoU86RHYAW7I1JKKZejJZIbESE+ozi/7DrOoOb+FPXQCRqVUupqmkhuYuG2Y6SmGx07opRS16GJ5AaMMcwJjaJp1dLU8/OxOxyllHJJmkhuICzqDPuOn9NVEJVS6gY0kdzAnNAovD3d6d9EV0FUSqnr0URyA9V8i/NIhwB8vDztDkUppVyWdv+9gSe61rI7BKWUcnlaIlFKKZUjmkiUUkrliCYSpZRSOaKJRCmlVI5oIlFKKZUjmkiUUkrliCYSpZRSOaKJRCmlVI6IMcbuGJxORE4CR27z8HLAqVwMx04F5V4Kyn2A3ourKij3ktP7qG6MKX+znQpFIskJEQk1xgTZHUduKCj3UlDuA/ReXFVBuZe8ug+t2lJKKZUjmkiUUkrliCaSm5tidwC5qKDcS0G5D9B7cVUF5V7y5D60jUQppVSOaIlEKaVUjmgiuQER6SMie0XkgIhMsDue2yEiVUVkjYjsFpGdIjLe7phySkTcRWSbiPxkdyw5ISKlRWSeiOxx/Hza2R3T7RCRfzh+tyJEJFhEvOyOKbtEZKqInBCRiEzbfEXkFxHZ7/haxs4Ys+s69/Ku4/dru4gsFJHSzri2JpLrEBF34FOgLxAIDBeRQHujui1pwPPGmAZAW+CpfHofmY0HdtsdRC74GFhujKkPNCUf3pOIVAGeAYKMMY0Ad2CYvVHdkm+BPldtmwD8aoypA/zqeJ0ffMu19/IL0MgY0wTYB7zkjAtrIrm+1sABY8whY8wlYBYw0OaYbpkxJtYYs9Xx/CzWh1UVe6O6fSLiD/QDvrY7lpwQkZJAZ+AbAGPMJWPMGXujum0egLeIeADFgBib48k2Y8w6IOGqzQOB6Y7n04G78zSo25TVvRhjVhpj0hwvNwL+zri2JpLrqwJEZXodTT7+AAYQkQCgObDJ3khy5CPgn0CG3YHkUE3gJDDNUU33tYgUtzuoW2WMOQa8BxwFYoFEY8xKe6PKsYrGmFiw/hEDKtgcT255FFjmjBNrIrk+yWJbvu3iJiIlgPnAs8aYJLvjuR0i0h84YYzZYncsucADaAF8boxpDpwn/1ShXOFoPxgI1AAqA8VFZIS9UamrichErGrumc44vyaS64sGqmZ67U8+KrJnJiKeWElkpjFmgd3x5EAH4C4RicSqauwuIt/bG9JtiwaijTGXS4fzsBJLftMDOGyMOWmMSQUWAO1tjimnjotIJQDH1xM2x5MjIvIw0B94wDhpvIcmkusLAeqISA0RKYLVgLjY5phumYgIVj38bmPMB3bHkxPGmJeMMf7GmACsn8dqY0y+/O/XGBMHRIlIPcemO4BdNoZ0u44CbUWkmON37Q7yYaeBqywGHnY8fxj40cZYckRE+gD/Au4yxlxw1nU0kVyHo4FqHLAC6w9jjjFmp71R3ZYOwINY/72HOR532h2UAuBpYKaIbAeaAW/aHM8tc5So5gFbgR1Ynyn5ZlS4iAQDG4B6IhItIqOAt4GeIrIf6Ol47fKucy+TAR/gF8ff/hdOubaObFdKKZUTWiJRSimVI5pIlFJK5YgmEqWUUjmiiUQppVSOaCJRSimVI5pIlHIiEXlWRIrZHYdSzqTdf5VyIsco/CBjzCm7Y1HKWbREolQuEZHiIvKziIQ71uZ4FWv+qTUissaxTy8R2ZNwJokAAAGvSURBVCAiW0VkrmMONEQkUkTeEZHNjkdtx/YhjnOFi8g6++5OqevTRKJU7ukDxBhjmjrW5vgIa362bsaYbiJSjv/f3t2rVhFFYRh+PxACXkIai6CdGCKoIHYBwcJW7GwCsbU+pLVIk0uwEHIJKYLlQQ5YROy8ARstYiBNwJViT2ByQIjsQzzK+zR7mD9mqjVr/j6YAJtVtQF8At6Mtv9ZVQ9oXyPvDfN2gKdVdQ94fl0nIv0JC4m0OF+AzaGzeFJVx3PLH9FC0qZJjmj/cbo1Wr4/Gi/SEqfAuyRbtNAoaenc+NsHIP0vquprkvvAM+BtkvlcjgCHVfXyd7uYn66q7SQPaWFeR0nWq+rHoo9d6mFHIi1IklXgtKre08KeNoAT2k/zoCXUPR49/7iZ5M5oFy9G48dhnbWqmlXVDvCdy9EG0lKwI5EW5y6wm+QXcAa8pt2iOkjybXhO8grYT7IybDOhZWkDrCSZ0S7wLrqW3SS3ad3MB+Dz9ZyKdHW+/istAV8T1r/MW1uSpC52JJKkLnYkkqQuFhJJUhcLiSSpi4VEktTFQiJJ6mIhkSR1OQe/Pm9G9TDXOAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#可视化\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "plt.plot(range(len(loss_mat)), loss_mat) \n",
    "plt.xlabel('steps')\n",
    "plt.ylabel('steps_entropy_loss')\n",
    "plt.show() \n",
    "\n",
    "plt.plot(range(len(l2_loss_mat)), l2_loss_mat) \n",
    "plt.xlabel('steps')\n",
    "plt.ylabel('steps_l2_loss')\n",
    "plt.show()\n",
    "\n",
    "plt.plot(range(len(total_loss_mat)), total_loss_mat) \n",
    "plt.xlabel('steps')\n",
    "plt.ylabel('steps_total_loss')\n",
    "plt.show()\n",
    "\n",
    "plt.plot(range(len(acc_train_mat)), acc_train_mat, label='Train Accuracy') \n",
    "plt.plot(range(len(acc_test_mat)), acc_test_mat, label='Test Accuracy')\n",
    "plt.legend()\n",
    "plt.xlabel('steps')\n",
    "plt.ylabel('accuracy')\n",
    "plt.show() "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "毫无疑问，这个模型是一个非常简陋，性能也不理想的模型。目前只能达到92%左右的准确率。\n",
    "接下来，希望大家利用现有的知识，将这个模型优化至98%以上的准确率。\n",
    "Hint：\n",
    "- 卷积\n",
    "- 池化\n",
    "- 激活函数\n",
    "- 正则化\n",
    "- 初始化\n",
    "- 摸索一下各个超参数\n",
    "  - 卷积kernel size\n",
    "  - 卷积kernel 数量\n",
    "  - 学习率\n",
    "  - 正则化惩罚因子\n",
    "  - 最好每隔几个step就对loss、accuracy等等进行一次输出，这样才能有根据地进行调整"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
